home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group99a.txt
/
000107_icon-group-sender _Wed Apr 28 08:12:12 1999.msg
< prev
next >
Wrap
Internet Message Format
|
2000-09-20
|
3KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id IAA14990
for icon-group-addresses; Wed, 28 Apr 1999 08:09:01 -0700 (MST)
Message-Id: <199904281509.IAA14990@baskerville.CS.Arizona.EDU>
Delivered-To: icon-group@cs.arizona.edu
Date: Wed, 28 Apr 1999 11:41:00 +1200 (NZST)
From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
To: evans@gte.net, icon-group@optima.CS.Arizona.EDU
Subject: RE: Modula 3
Errors-To: icon-group-errors@optima.CS.Arizona.EDU
Status: RO
Modula 3 is supposed to be capable of handling vast software systems without all
the header file nightmares of C++. It is supposed to capture essentially all
the good and "proven" features of modern software compiler design practice,
without all the bad stuff (but still allowing for low-level machine access as
required, in controlled interfaces). Whether it was based on Pascal or BASIC or
FORTRAN or C or Ada does not answer the question of the Modula-3 language's
practical utility as it exists today, in comparison to Icon. The blurbs for
Icon make a lot of similar claims.
You can think of Modula 3 as a poor man's Ada 95
PLUS required garbage collection
PLUS a GUI kit of its own instead of Ada's X and Windows bindings.
Modula-3 should give you pretty good performance, but probably won't
match Ada or SmallEiffel. If only Ada 95 systems all had garbage
collection (instead of only some of them) I don't know why anyone
would use Modula-3.
The blurbs I have read from the Modula-3 home page indicate that
some groups of experienced C++ programmers never looked back
after using Modula-3.
That's largely because C++ is uniquely horrible. "Header file nightmares"
are confined to C-like languages; Simula 67 had full typesafe separate
compilation without any of that nonsense back in the late 60s. If you want
a decent OO language with generics, Eiffel and Sather deserve as much
consideration as Modula-3, and Eiffel has multiple implementations.
Maybe another way to ask my question is this: if Icon evolves,
should it evolve in the direction of Modula-3? Even partly?
It couldn't, not without changing its character so much as to be
unrecognisable. Icon *could* evolve in the direction of ISETL, Pop-11,
or Lisp without losing too much; indeed, if you get Jeff Siskind's
SCREAMER package for Lisp, you end up with a rather more powerful
language than Icon but in much the same spirit. (To start with, the
Common Lisp Object System is the most powerful in existence, far beyond
anything Modula-3 can muster.)
You could *possibly* bolt some kind of Haskell-like type system on top
of Icon and still salvage much of the language (there's an interesting
M.Sc. topic), but not a Modula-3-like type system, and it's only a
little exaggeration to say that the type system _is_ Modula-3.